package jpf.nextsearch.ds.dao.base;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * @author <a href="mailto:jacek.pruszkowski@gmail.com">Jacek Pruszkowski</a>
 * 
 */
public interface Dao<T extends Object> {

	public T get(Serializable id);

	public List<T> getAll();

	public void remove(Serializable id);

	public void removeAll();

	public void saveOrUpdate(T obj);
	
	public void saveOrUpdateAll(Collection<T> items);	

	public List<? extends Object> executeQuery(String query);

	public List<? extends Object> executeSqlQuery(String queryString);

	public int executeUpdateQuery(String query);

}
